Python中的实例属性、类属性,私有成员与公有成员,公有方法、私有方法和静态方法



Python中的实例属性、类属性

   类Class中成员变量有两种属性分别是:实例属性和类属性。类属性是在类中方法(也就是类中的函数)之外但又在类之中定义的属性;而实例属性是在构造函数中定义的(__init__),定义时候以self作为前缀。类属性在所有实例之间共享。在类内部和类外部都可以通过“类.类属性” 来访问。

        那么,类属性和实例属性分别怎么访问呢?在主程序中,如果想要访问实例属性,因为实例属性属于对象,只能通过对象名访问;如果要访问类属性,因为类属性属于类,可以通过类名访问,同时也可以通过对象名访问。

Python中的私有成员与公有成员

   类的属性在定义的时候,如果以两个短下滑线“__”开头则表示是私有属性,否则就是公有属性。

   例如,上面小程序中,书的大小是公有属性,而书的类型是私有属性。对公有属性可以公开使用,既可以在类内部访问,也可以在类外部访问。私有成员只能在类内部使用,但也可以通过特殊的方法进行访问,即“对象名._类名+私有成员”的方式。在主程序中对私有成员和公有成员的调用实例如下。

Python中的私有方法、公有方法和静态方法

   类中定义的方法有公有方法、私有方法和静态方法三种。私有方法以两个下划线“__”开始。如下区别:

公有方法通过对象名直接调用。

      定义公有方法:def namemethod()。调用:对象名.公有方法

私有方法:不能通过对象名直接调用。只能在属于对象的方法中通过self调用或者在外部通过特殊方法调用。

      定义私有方法:def __namemethod()。调用:self._namemethod。

静态方法:可以通过类名和对象名调用,但不能直接访问属于对象的成员,只能访问属于类的成员。

      定义静态方法:

      @staticmethod

      def methodname()。调用:类名.方法名


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值